﻿using IntelligentAgriculture.Contracts.Dto.Input.DeathModelsinput;
using IntelligentAgriculture.Contracts.Dto.Input.EarTagInput;
using IntelligentAgriculture.Contracts.Dto.Output;
using IntelligentAgriculture.Contracts.Dto.Output.DeathModelsOutPut;
using IntelligentAgriculture.Contracts.Dto.Output.EarTagOutput;
using IntelligentAgriculture.Contracts.Dto.Output.PageOutput;
using IntelligentAgriculture.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelligentAgriculture.Contracts.Interface
{
    public interface iDeathModelService
    {
        /// <summary>
        /// 获取档案表母羊在哺乳的耳号列表
        /// </summary>
        /// <returns></returns>
        Task<List<Eartag>> GetEarShowinfo();
        /// <summary>
        /// 获取羊只当前的栋舍
        /// </summary>
        /// <param name="earTagId">耳号</param>
        /// <returns></returns>
        Task<List<Sheepfilemodel>> GetBuildByEar(string earTagNumber);

        /// <summary>
        /// 添加功能
        /// </summary>
        /// <param name="add"></param>
        /// <returns></returns>
        Task<int> Add(List<Deathmodel> add);

        /// <summary>
        /// 显示，查询，分页功能
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagesOutput<DeathModelsOutPut>> GetShow(DeathModelInput input);
        /// <summary>
        /// 逻辑删除功能
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<int> Delete(int id);


        /// <summary>
        /// 批量逻辑删除
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<int> DeleteRange(IEnumerable<int> ids);


        Task<int> UpateEartag(Deathmodel entity);


        Task<DeathModelsOutPut> Find(int id);

    }
}
